package br.com.stefanini.schs.util;

import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class DiasUteis {
	
	public static int calcularDiasUteis(String mesFiltro, String anoFiltro) {
		String dia = "01/";
		String dtAtual = dia.concat(mesFiltro).concat("/" + anoFiltro);
		
		
		int diasUteis = 0;
		int mes = 0;
		int ultimoDia = 0;
		
		try{
			
			DateFormat dtFormat = DateFormat.getDateInstance();
			Date dtAtualFormatada = dtFormat.parse(dtAtual);
			GregorianCalendar cal = new GregorianCalendar();
		    GregorianCalendar calInicial = new GregorianCalendar();   
		    
		    cal.setTime(dtAtualFormatada);
		    calInicial.setTime(dtAtualFormatada);
		    mes = cal.get(Calendar.MONTH)+1;
		    
		    if(mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12){
				ultimoDia = 31;
			}else if(mes == 4 || mes == 6 || mes == 9 || mes == 11){
				ultimoDia = 30;
			}else if(mes == 2){
				ultimoDia = 28;
			}
			
			for(int i = 1; i <= ultimoDia; i++ ) {
				
	            if(!(calInicial.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY || calInicial.get(Calendar.DAY_OF_WEEK)== Calendar.SATURDAY)) {   
	            	diasUteis++;   
	            }   
	            calInicial.add(Calendar.DATE, 1);   
	        }
	        return diasUteis;   
			
		} catch (Exception e) {   
	    	 System.out.println("Erro: Datas.getDataFinal:" + e);  
	         return diasUteis;
	    } 
	}
}